AWSグローバルネットワークを使ってアプリの可用性・パフォーマンスを向上するAWS Global Acceleratorのハンズオンをやってみた
AWS Global AcceleratorはAWSが提供するGSLB(グローバルサーバロードバラシング)の一種です。 AWSのグローバルネットワークを使用し、アプリケーションのグローバルな可用性とパフォーマンスを向上させることができます。
キャッチフレーズだけでは何ができるのかピンとこないかもしれませんね。
本記事ではそんなAWS Global Acceleratorを理解しながら学べるハンズオンを紹介します。
ハンズオンの URL
AWS Global Acceleratorとは?
AWS Global Accelerator は、ローカルまたは世界中のユーザーに提供するアプリケーションの可用性とパフォーマンスを改善するサービスです。Application Load Balancer、Network Load Balancer、Amazon EC2 インスタンスなど、単一または複数の AWS リージョンのアプリケーションエンドポイントへの固定エントリポイントとして機能するスタティック IP アドレスを提供します。
AWS Global Accelerator は、AWS グローバルネットワークを使用してユーザーからアプリケーションへのパスを最適化し、トラフィックのパフォーマンスを 60% も改善します。速度比較ツールを使用することで、お客様のロケーションからどのようなパフォーマンスの利点があるかをテストできます。AWS Global Accelerator は、アプリケーションエンドポイントの状態を継続的にモニタリングし、30 秒以内に正常なエンドポイントにトラフィックをリダイレクトします。
AWS Global Acceleratorのサービスページより引用
本ハンズオンで学べること
本ハンズオンでは、以下の内容を学べます。
- ALBをGlobal Acceleratorと連携
- Blue/Greeデプロイ、A/Bテスト、可用性の向上などのために複数のALBと連携
- アプリケーションを複数リージョンにデプロイし、地理的にユーザーに近いリージョンで処理
- クライアントを特定のバックエンドに振り分ける(クライアントアフィニティ)
- ヘルシーなオリジンにのみリクエストがルーティングされることを確認
- オリジンをプライベートサブネットに配置してセキュアに保護し、オリジンを隠蔽(origin cloaking)
- パフォーマンスを評価
- 監視、フローログの利用
例えばステップ3のマルチリージョンの構成図は以下の通りです。
※図はワークショップから引用
オリジンのアプリケーション(ALB+Lambda)はCloudFormationで構築するため、ユーザーはAWS Global Accelerator の操作に集中できます。
動作確認に手間のかかる
- トラフィックダイヤルとウェイトの違い(ステップ 3)
- クライアントアフィニティ(ステップ 4)
- Global Acceleratorと各リージョンのエンドポイントに対して traceroute したときのホップ数の違い(ステップ 7)
などを簡単に検証できるのはありがたいですね。
ハンズオンはAWS Global AcceleratorのオリジンにALBを利用します。 ヘルスチェックのようにLB系とEC2系で考えが異なる点は文章で補足するなどし、Global Acceleratorを汎用的に学べるように配慮されています。
最後に
本ハンズオンでは AWS Global Acceleratorの基本機能について学べます。
ロードバランサーやコンテンツ配信が好きだけれども、AWS Global Acceleratorを触ったことがないという方は、ぜひこちらのハンズオンにチャレンジしてみてください。
先日の AWS Summit Online Japan での関連セッションもおすすめです。
それでは。